home *** CD-ROM | disk | FTP | other *** search
-
- {
- checking for drive ready?
-
- Here's something that I fiddled arround. It is still noisy but
- thought you may want to see it.
- }
-
- uses
- Crt, Dos;
-
- function DriveReady(Drive : Byte) : Boolean; assembler;
- { a=0, b=1, etc. Shouldn't work at all on hard drives !! }
- var
- Buffer : array[1..512] of Byte;
- N : Byte;
-
- asm
- mov [N],3 { retry 3 times }
- @10:
- mov ax,$0401
- mov cx,$0001
- mov dh,$00
- mov dl,[Drive]
- push ss
- pop es
- lea bx,[Buffer]
- int $13
- mov al,FALSE
- jnc @20
- dec [N]
- jnz @10
- jmp @30
- @20:
- or ah,ah
- jnz @30
- mov al,TRUE
- @30:
- end;
-
- begin
- ClrScr;
- repeat
- writeln(^G'Drive Ready = ', DriveReady(0));
- Mem[$40:$40]:=255;
- Delay(2000);
- until (KeyPressed);
- Mem[$40:$40]:=1; { shut motors }
- end.